/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sirius.usynapse.data;

import java.util.List;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

/**
 *
 * @author jildefonso
 */
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Mejora {

    @PrimaryKey
    @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
    private long id = 0;
    @PrimaryKey
    private String nombre = null;
    @Persistent
    private boolean atraviezaStargate = false;
    @Persistent
    private int velocidad = 0;
    @Persistent
    private int velocidad_hyperespacio = 0;
    @Persistent
    private int punteria = 0;
    @Persistent
    private int evacion = 0;
    @Persistent
    private int resistencia = 0;
    @Persistent
    private int escudo = 0;
    @Persistent
    private int alcance = 0;
    @Persistent
    private List<CantidadRecurso> costo = null;
    @Persistent
    private int tiempoCreacion = 0;
    @Persistent
    private List<CantidadRecurso> recoleccion = null;
    @Persistent
    private boolean invisible = false;

    @Override
    public boolean equals(Object obj) {
        return obj instanceof Mejora ? ((Mejora) obj).getId() == getId() : false;
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the atraviezaStargate
     */
    public boolean isAtraviezaStargate() {
        return atraviezaStargate;
    }

    /**
     * @param atraviezaStargate the atraviezaStargate to set
     */
    public void setAtraviezaStargate(boolean atraviezaStargate) {
        this.atraviezaStargate = atraviezaStargate;
    }

    /**
     * @return the velocidad
     */
    public int getVelocidad() {
        return velocidad;
    }

    /**
     * @param velocidad the velocidad to set
     */
    public void setVelocidad(int velocidad) {
        this.velocidad = velocidad;
    }

    /**
     * @return the velocidad_hyperespacio
     */
    public int getVelocidad_hyperespacio() {
        return velocidad_hyperespacio;
    }

    /**
     * @param velocidad_hyperespacio the velocidad_hyperespacio to set
     */
    public void setVelocidad_hyperespacio(int velocidad_hyperespacio) {
        this.velocidad_hyperespacio = velocidad_hyperespacio;
    }

    /**
     * @return the punteria
     */
    public int getPunteria() {
        return punteria;
    }

    /**
     * @param punteria the punteria to set
     */
    public void setPunteria(int punteria) {
        this.punteria = punteria;
    }

    /**
     * @return the evacion
     */
    public int getEvacion() {
        return evacion;
    }

    /**
     * @param evacion the evacion to set
     */
    public void setEvacion(int evacion) {
        this.evacion = evacion;
    }

    /**
     * @return the resistencia
     */
    public int getResistencia() {
        return resistencia;
    }

    /**
     * @param resistencia the resistencia to set
     */
    public void setResistencia(int resistencia) {
        this.resistencia = resistencia;
    }

    /**
     * @return the escudo
     */
    public int getEscudo() {
        return escudo;
    }

    /**
     * @param escudo the escudo to set
     */
    public void setEscudo(int escudo) {
        this.escudo = escudo;
    }

    /**
     * @return the alcance
     */
    public int getAlcance() {
        return alcance;
    }

    /**
     * @param alcance the alcance to set
     */
    public void setAlcance(int alcance) {
        this.alcance = alcance;
    }

    /**
     * @return the costo
     */
    public List<CantidadRecurso> getCosto() {
        return costo;
    }

    /**
     * @param costo the costo to set
     */
    public void setCosto(List<CantidadRecurso> costo) {
        this.costo = costo;
    }

    /**
     * @return the tiempoCreacion
     */
    public int getTiempoCreacion() {
        return tiempoCreacion;
    }

    /**
     * @param tiempoCreacion the tiempoCreacion to set
     */
    public void setTiempoCreacion(int tiempoCreacion) {
        this.tiempoCreacion = tiempoCreacion;
    }

    /**
     * @return the recoleccion
     */
    public List<CantidadRecurso> getRecoleccion() {
        return recoleccion;
    }

    /**
     * @param recoleccion the recoleccion to set
     */
    public void setRecoleccion(List<CantidadRecurso> recoleccion) {
        this.recoleccion = recoleccion;
    }

    /**
     * @return the invisible
     */
    public boolean isInvisible() {
        return invisible;
    }

    /**
     * @param invisible the invisible to set
     */
    public void setInvisible(boolean invisible) {
        this.invisible = invisible;
    }
}
